package com.css.fxfzdzzh.modules.basicData.entity;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.css.fxfzdzzh.base.annotation.EntityValue;
import com.css.fxfzdzzh.base.annotation.Transform;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author Dbj
 * @date 2023年02月28日  17:15
 */
@Data
public class SeismotectionZone {
    /**
     * 主键
     */
    private String zoneId;

    /**
     * 地震构造区名称
     */
    @Transform
    @EntityValue(type = "字符型", must = "是", name ="地震构造区名称" , desc ="秦岭大巴" )
    @NotBlank(message = "地震构造区名称不能为空")
    @Excel(name = "地震构造区")
    private String zoneName;
    /**
     *地震构造区编号
     */
    @EntityValue(type = "字符型", must = "是", name ="地震构造区编号" , desc ="II1-a" )
    @NotBlank(message = "地震构造区编号不能为空")
    @Excel(name = "地震构造区编号")
    @Transform
    private String zoneNum;
    /**
     * 背景地震
     */
    @EntityValue(type = "数值型", must = "是", name ="背景地震" , desc ="5.0" )
    @NotBlank(message = "背景地震不能为空")
    @Excel(name = "背景地震")
    @Transform
    private BigDecimal backgroundEarthquake;
    /**
     *所属地震带
     */
    @EntityValue(type = "字符型", must = "是", name ="所属地震带" , desc ="长江中游地震带" )
    @Excel(name = "所属地震带")
    @Transform
    private String belongingZone;
    /**
     * 最大潜在地震
     */
    @EntityValue(type = "数值型", must = "是", name ="最大潜在地震" , desc ="7.0" )
    @Excel(name = "最大潜在地震")
    @Transform
    private BigDecimal maxEarthQuake;

    /**
     * 最大潜在地震
     */
    @EntityValue(type = "字符型", must = "是", name ="地震构造区内容" , desc ="" )
    @Excel(name = "地震构造区内容")
    @Transform
    private String zoneContent;

    private String dataVersion;

    private String createUser;
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    private String delFlag;

    @Transform
    private String geom;
}
